Digital video systems are widely used in safety-critical applications such as motorized vehicles, airplanes, and industrial equipment. Video applications are for example used in complex multi-media infotainment systems, navigation systems, instrument clusters and camera based systems, such as rear view cameras.
Digital video systems generally communicate a sequence of digital images from a source, such as a camera, to a destination, such as a display or screen. The digital images are provided in a frame based format using a so called digital video stream which provides a stream, or sequence, of frames, each frame representing a respective image. The communication can be made directly from the camera to a live display or the communication can be time delayed by storing the video into a memory, such as a DDR-DRAM (double data rate DRAM) and displaying in at a later time. Here, usually one or more image memories are used in order to store the digital video streams into the memory. Additionally the digital video stream may be processed in while it is forwarded to the destination.
Various system failures within a digital video system may cause the digital video stream to stop or to lock-up, resulting in a so-called frame freeze or hang-up condition. Examples of such failures may be hardware based or software based, such as a camera lock-up, electronics lock-up, a fault in the communication path when the digital video stream is processed, memory failure when the digital video stream is buffered, a faulty interrupt, repeated frames, skipped frames, or the like. Especially, for safety critical applications it is important for a user or operator to know quickly that the digital video stream has failed, e.g. to realized that the vehicle speed indicated is not correct or that despite the image from the rear view camera not changing the vehicle is actually moving.
Various solutions are known from the prior art to detect frame freeze. One approach is for example described in United States patent application publication US 2009/0147861. This '861 publication discloses a detection of faults in a digital video stream which employs a code verification process that inserts a kind of a marker into the digital video stream. For this purpose, a code generating circuit is used to place a predefined code into each frame of the received digital video stream. The code changes in a predefined manner from one frame to the next and is embedded into one or more pixels of each frame of the digital video stream. Verification at the destination (display) of the changing code within the frame of the video stream can be employed to confirm that the digital video stream is not in a frame freeze condition or another fault condition prior to displaying the digital video stream at the display. If for example a fault condition is detected by this kind of code verification process, an operator can be made aware of this fault.
However, the method as described in US 2009/0147861 A1 does not work properly in systems where the digital video streams are more or less heavily processed and modified before they are displayed at the destination. For example, in a digital video system with different applications which each provide a digital video stream and the different digital video streams have to be combined into one single digital video stream, the code included into the digital video stream will be either processed or modified and accordingly the reliability affected.